﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Hoiatused : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IHoiatused {
        
        private System.Collections.Generic.List<Hoiatused.HoiatusType> @__hoiatus = new System.Collections.Generic.List<Hoiatused.HoiatusType>();
        
        public Hoiatused() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Hoiatused(System.Collections.Generic.List<Hoiatused.HoiatusType> @hoiatus) {
            this.@__hoiatus = @hoiatus;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Hoiatused(IHoiatused @hoiatused) {
            this.@__hoiatus = @hoiatused.Hoiatus;
        }
        
        public virtual System.Collections.Generic.List<Hoiatused.HoiatusType> Hoiatus {
            get {
                return this.@__hoiatus;
            }
            set {
                this.@__hoiatus = value;
            }
        }
        
        public class HoiatusType : global::Xtee.Core.Schema.XsdString {
            
            public HoiatusType(string value) : 
                    base(value) {
                this.Validate();
            }
            
            public HoiatusType() : 
                    base(string.Empty) {
            }
            
            public static bool TryParse(string value, out HoiatusType result) {
                try {
                    result = new HoiatusType(value);
                    return true;
                }
                catch (System.Exception ) {
                    result = null;
                    return false;
                }
            }
            
            public static implicit operator String (HoiatusType value) {
                return value.Value;
            }
            
            public static implicit operator HoiatusType (string value) {
                if (value==null) {
                    return null;
                }
                return new HoiatusType(value);
            }
        }
    }
}
